﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Castle.ActiveRecord;

namespace LIMS.Entities
{
    [ActiveRecord(Lazy = true)]
    [Serializable]
    public class Product : ActiveRecordBase // : BaseEntity<int>
    {

        public Product() { }

        #region Private
        private int id;
        private string fullname;
        private string shortname;
        private string technicalname;
        private string scientificname;
        private int unit;
        private float quantity;
        private int locationcategoryid;
        private string storagecondiation;
        private float moelcularweight;
        /// <summary>
        /// Acid/Base/neutral
        /// </summary>
        private int categoryid;
        private int natureid;
        private byte flameable;
        private byte poisonus;
        private byte corosive;
        private byte photosensitive;
        private int storagecontainer;
        private int storagecolorid;
        private int plantid;
        private int userid;
        #endregion

        #region public
        [PrimaryKey(PrimaryKeyType.Increment)]
        public virtual int Id
        {
            get { return id; }
            set { id = value; }
        }
        public virtual string FullName
        {
            get { return fullname; }
            set { fullname = value; }
        }
        public virtual string ShortName
        {
            get { return shortname; }
            set { shortname = value; }
        }
        public virtual string TechnicalName
        {
            get { return technicalname; }
            set { technicalname = value; }
        }
        public virtual string ScientificName
        {
            get { return scientificname; }
            set { scientificname = value; }
        }
        public virtual int Unit
        {
            get { return unit; }
            set { unit = value; }
        }
        public virtual float Quantity
        {
            get { return quantity; }
            set { quantity = value; }
        }
        public virtual int LocationCategoryid
        {
            get { return locationcategoryid; }
            set { locationcategoryid = value; }
        }
        public virtual string StorageCondiation
        {
            get { return storagecondiation; }
            set { storagecondiation = value; }
        }
        public virtual float MoelcularWeight
        {
            get { return moelcularweight; }
            set { moelcularweight = value; }
        }
        /// <summary>
        /// Acid/Base/Netural
        /// </summary>
        public virtual int Categoryid
        {
            get { return categoryid; }
            set { categoryid = value; }
        }
        public virtual int Natureid
        {
            get { return natureid; }
            set { natureid = value; }
        }
        public virtual byte Flameable
        {
            get { return flameable; }
            set { flameable = value; }
        }

        public virtual byte Poisonus
        {
            get { return poisonus; }
            set { poisonus = value; }
        }

        public virtual byte Corosive
        {
            get { return corosive; }
            set { corosive = value; }
        }
        public virtual byte PhotoSensitive
        {
            get { return photosensitive; }
            set { photosensitive = value; }
        }
        public virtual int StorageContainer
        {
            get { return storagecontainer; }
            set { storagecontainer = value; }
        }
        public virtual int StoragecolorId
        {
            get { return storagecolorid; }
            set { storagecolorid = value; }
        }

        public virtual int PlantId
        {
            get { return plantid; }
            set { plantid = value; }
        }
        public virtual int UserId
        {
            get { return userid; }
            set { userid = value; }
        }
        #endregion
    }
}


